Maintaining desired speed of cutting tool in numerically controlled machine tool

ABSTRACT

In a numerically controlled machine tool in which a fundamental pulse frequency determines speed of cutting tool motion along an axis, and pulses are distributed to axes according to programmed direction of cutting tool movement, successive pulses are counted into successive equal groups, each containing a number of pulses which is a multiple of the number of axes. The number of possible pulse distributions in a group is limited; hence an augmenting pulse frequency can be precomputed for each possible distribution, based on a relationship between total stairstep motion distance signified by pulses of the group and corresponding direct distance. For each group, pulses of the proper augmenting frequency are injected between pulses of the fundamental frequency so that for a given fundamental frequency speed in the same in any direction.

United States Patent 1 Holmgren [451 May 22,1973

[75] Inventor: Per Harald Holmgren, Jonkoping,

' Sweden [73] Assignee: Saab-Scania Aktiebolag, Linkoping,

Sweden 22' Filed: Sept. 13,1971

[21 Appl.No.: 179,661

3,633,013 1/1972 Dummermuth ..318/573 X Primary Examiner-Eugene G. BotzAssistant Examiner-Jerry Smith Attorney-Ira Milton Jones [5 7] ABSTRACTIn a numerically controlled machine tool in which a fundamental pulsefrequency determines speed of cutting tool motion along an axis, andpulses are dis tributed to axes according to programmed direction ofcutting tool movement, successive pulses are counted into successiveequal groups, each containing a 52 US. Cl. ..235 151.11, 235 5 .3, 1 571l 1 ll 0 3 8/ number of pulses which is a multiple of the number of [51]Int. Cl ..G06f 15/46 Th b f 1 t [58] Field of Search ..235/151.11,150.3, is z g igz i g zz l l g ig 235/151.32; 318/569-571, 573-574, 603,g p gm y 607 636 can be precomputed for each possible distribution,based on a relationship between total stairstep motion I distancesignified by pulses of the group and cor- [56] References Cltedresponding direct distance. For each group, pulses of UNITED STATESPATENTS the proper augmenting frequency are injected between pulses ofthe fundamental frequency so that 3,553,559 l/1971 Leenhouts ..318/571 fr a given fundamental frequency speed in the same i I X in any direction3,530,283 9/1970 McDaniel.... ..3l8/57l X 3,612,841 10/1971 Kosem..318/57l X 2 Claims, 6 Drawing Figures {1, P L1 L8 E 6 GEN ERATINQ M EAN S 5 DISTANCE PUNCHED TAPE CONTROL w PROGRAM MEANS 9 8 i l tr fl fFUNCTION E G E N E RATO R Y i z VECTOQ l -ADDER PATENTED 5 SHEET 1 []F 2PULSE GENERATING FIGL 6 MEAN$ {5 DISTANCE PUNCHED TAPE CONTROL PROGRAMNEANs 9 8 f F {A=F\/+FL FUNCTION 1*? Y GENERATOR kfz vEcTOR AOOER IFIG.Z.

4 7 v {X COUNTER y n +n +n fz COUNTER n l9 Y b K I UN AccIIMuLATOR+CONTROL nk COUNTER+DECODER b4 AOOER REGISTER UNIT 7 2 4- 4- k FIG.2

b l 2 3 4 5 a, I 2 5 n +n +n ANALYSIS n n AOO O,4,Q ,7,9OFIO H H5UBTRAT4 H H H IF ACCUMULATOR REGISTER 3 THEN H H H n OUT I MAINTAININGDESIRED SPEED OF CUTTING TOOL IN NUMERICALLY CONTROLLED MACHINE TOOLThis invention relates to numerically controlled machine tools whereinan element is movable along two or more coordinate axes to effectrelative cutting motion between a cutting tool and a workpiece, andwherein the speed of such relative motion depends upon the frequency atwhich pulses are generated by a pulse generator; and the invention ismore particularly concerned with maintenance of such relative motion. ata desired speed irrespective of the direction in which it takes place.

A numerically controlled machine tool effects relative motion between acutting tool and a workpiece carrier in accordance with a predeterminedprogram which may be encoded on a punched tape. Either the cutting toolor the workpiece carrier may be caused to move, or both may movesimultaneously, but since the motion is relative in any event,discussion of any such machine is facilitated by considering the cuttingtool as the controlledly moved element, and the following discussionproceeds on that basis.

The cutting tool is controlledly movable along each of two or morecoordinate axes that are perpendicular to one another. Its motion alongeach axis is effected by a servo for that axis. By actuation of two ormore servos simultaneously, the cutting tool can be moved in' anydesired direction, its actual direction of motion being the vectorialsum of its components of motion along the several axes.

A numerically controlled machine tool of the type with which the presentinvention is concerned comprises a pulse generator which issues pulsesat a fundamental frequency that may be controlledly varied. As thepulses are generated, they are assigned in a programmed 'sequence to theseveral servos. Each pulse corresponds to a predetermined increment ofcutting tool motion along an axis, and hence the frequency of the pulsesassigned to each servo denotes the rate of motion of the cutting toolalong the axis for that servo.

Since the pulses are generated at intervals and areassigned insuccession to the several servos to be operated, and since each pulsecorresponds to a predetermined distance along an axis, any motion of thecutting tool that is oblique to an axis is, in theory, in a stairsteppattern. Stated in another way, for oblique motion, the cutting tool iscommanded to movefirst in an incremental step or steps along one axisand then in an incremental step or steps along another, in accordancewith the programmed assignment of successive pulses.

In fact, however, because of inertia in the drive means by which thecutting tool is propelled along each axis, whereby motion continuesafter termination of the pulse that commands it, the cutting tool can(and usually does) move along two or more axes simultaneously inresponse to successive pulse commands for movement along different axes.Hence, even though pulses are delivered in a manner tocommand movementof the cutting tool along a stairstep path, the actual movement of thetool is along a substantially'smooth line.

However, the stairstep pattern of pulse commands has heretofore createda serious problem with respect to speed at which the cutting tool movesin different directions. This problem arises from the fundamental factthat each pulse denotes a defined increment of movement along an axis.During oblique travel of the cutting tool the pulses are commanding astairstep movement at a certain rate, whereas the cutting tool, inmoving along a substantially direct path, is in effect taking a shortcutacross the route that the distributed pulses are commanding. It will beapparent that for the cutting tool to traverse this shortcut path in thesame time interval that it would require to follow the stairstep route,it must travel more slowly than it would do in motion parallel to anaxis at the same fundamental pulse frequency. Thus, if the direction ofmovement of the cutting tool is, for example, at 45 to each of the axesin a rectangular three-axis system of coordinates, the speed of thecutting tool will be only 1/ V3 of the speed that it would have alongone of the axes at the same pulse frequency, which is to say it will be42 percent too low.

It is obvious that such deviations from the optimum speed of the cuttingtool cannot be tolerated. Various expedients have heretofore beenproposed for automatic correction of the cutting tool speed for thepurpose of making it largely independent of the direction of cuttingtool movement. See, for example, Swedish patent application 8765/68 andGerman patent No. 1,463,238.

The present invention has for its general object to provide a verysimple and accurate method of automatically maintaining substantially adesired speed of the cutting tool of a numerically controlled machinetool, irrespective of its programmed direction of motion, which methodcan be practiced by means of relatively inexpensive and uncomplicatedapparatus.

It is another and more specific object of this invention to provide, fora numerically controlled machine tool of the character described, amethod of automatically so controlling the speed of the cutting tool asit moves in any direction oblique to the coordinate axes of the machineas to maintain that speed at substantially the same value that it wouldhave if the tool were moving along one of said axes, so that the speedof movement of the cutting tool can be programmed without regard to thedirection in which it is moving and the cutting tool will maintainsubstantially the programmed speed of movement.

With these observations and objectives in mind, the manner in which theinvention achieves its purpose will be appreciated from the followingdescription and the accompanying drawings, which exemplify theinvention, it being understood that changes maybe made in the specificmethod and apparatus disclosed herein without departing from theessentials of the invention set forth in the appended claims.

The accompanying drawings illustrate two complete examples of apparatusembodying the methodof the invention, constructed according to the bestmodes so far devised for the practical application of the principlesthereof, and in which:

FIG. 1 is a generalized block diagram of one form of apparatus embodyingthe method of this invention;-

FIG. 2 is a more particularlized block diagram of certain parts of theapparatus shown in FIG. 1;

FIG. 3 is a pulse-time diagram illustrating pulses which occur atcertain points in the apparatus illustrated in FIG. 2 and the times atwhich they occur in relation to one another;

FIG. 4 illustrates a part of the surface of a sphere which has itscenter on the origin of a coordinate axis system and which symbolizesspeed vectors that extend in all directions from said origin, used indetermining the accuracy of cutting tool speed control in accordancewith the method of this invention;

FIG. 5 is a generalized block diagram of apparatus for practicing amodified form of the method of this invention; and

FIG. 6 is a more particularized block diagram of certain parts of theapparatus shown in FIG. 5.

In the following explanation it will be assumed that the describedapparatus is employed with a numerically controlled machine tool, and,again, the simplifying as-. sumption will be made that only the cuttingtool moves, although it will be apparent that the principles of theinvention will be equally applicable to machines wherein movement isimparted to only the workpiece carrier, or to both the cutting tool andthe workpiece carrier. It will also be assumed that the cutting tool iSmovable along three mutually perpendicular coordinate axes, designatedx, y and z, and has a separate servo for each axis, by which it can bepropelled along the axis in either direction. Each servo ispulseresponsive as to its speed, that is, it tend to effect movementthrough a predetermined incremental distance for each pulse fed to it,and the time rate (frequency) at which pulses are fed to a servotherefore determines the component of the cutting tool speed vector thatis parallel to the axis to which that servo is assigned.

The above described apparatus, being conventional and familiar to thoseskilled in the art, is not shown in the drawings.

At each stage of an operation, the direction of movement of the cuttingtool, the distance through which it moves, and the speed at which itmoves are determined by a program which may be encoded on a punched tapeor the like, cooperating with tape reading mechanism in a knownarrangement. The program apparatus is designated by block 5 in FIG. 1.

For controlling the speeds of the servos, pulses are generated by aconventional pulse generator 6, at a fundamental frequency f., which mayvary from time to time under the control of the program apparatus. Sinceeach pulse can be assigned to one or another of the coordinate axes, anddenotes a predetermined increment of cutting tool motion along the axisto which it is assigned, the pulses are employed in some numericallycontrolled machine tools to control the distance through which thecutting tool moves in each direction, in addition to their utilizationin control of speed and direction of motion of the cutting tool. Asdesignated by the block 7 in FIG. 1, the pulses of the fundamentalfrequency can be employed for distance control in apparatus embodyingthe method of this invention, or other means can be employed for thatpurpose if preferred.

As employed for control of the speed and direction of motion of thecutting tool, each pulse is applied to impart a predetermined quantum ofenergy to the servo to which it is assigned, and the speed of the servothus depends upon the frequency of the pulses applied to it.

More specifically, the direction of motion of the cutting tool at anyinstant is the vector sum of its components of motion along the severalaxes, and is thus a function of the relative speeds at which its severalservos are operating. And since the speed of each servo depends upon thepulse frequency fed to it, the direction of motion of the cutting toolis controlled by the program apparatus by causing successive pulses of apulse stream to be distributed among the several servos, so that thepulse frequency assigned to each servo is in such relationship to thepulse frequencies assigned to the others that the cutting tool moves inthe desired direction. If the speed of the cutting tool is to beincreased without change in its direction of motion, then the assignedfrequencies for the several servos must be increased without changingthe proportional relationship between those assigned frequencies, andthis of course requires that there be an increase in the frequency ofthe stream of pulses to be distributed.

It may be helpful to mention at this point that the absolute number ofpulses fed to a servo during a given traverse is of no significance withrespect to distance traveled along the servo axis by the cutting tool inthe course of that traverse, even though each pulse denotes apredetermined distance increment, but, rather, that the frequency atwhich pulses are fed to the servo is the significant factor with respectto speed and direction of cutting tool motion. This is to say that wherethe generated pulses are employed for distance control, they areutilized in a different manner than they are for speed and directioncontrol, with which the present invention is concerned; and it is merelya convenience that pulses from the same source are utilized for thesetwo functions. Hence, a pulse could, if desired, signify one incrementof movement for purposes of distance control and a different one forpurposes of speed and direction control.

With these fundamentals in mind, the method of this invention, which isperformed by the apparatus illustrated in FIG. 1, will now be explained.

When the cutting tool is to move, pulses are generated by the pulsegenerator 6 at the fundamental frequency f which frequency may beincreased by injected pulses, produced as described hereinafter, toprovide pulses at an augmented frequency f A All pulses are assigned anddistributed to the several axes in accordance with the frequencyrelationship between the axes that is needed to achieve the programmeddirection of cutting tool movement.

According to the method of this invention, the pulse assignments thusmade are analyzed by groups of pulses. For this, successive pulses,regardless of the axis to which they are assigned, are counted intosuccessive groups, each group containing the same number of pulses. Onthe basis of the distribution of the pulses of each group among theseveral axes, augmenting pulses are injected into the pulse stream,between pulses of the fundamental frequency, to produce the augmentedpulse frequency. The number of augmenting pulses injected into the pulsestream depends upon the relationship between, on the one hand, the totaldistance signified by the group of pulses (number of pulses in the grouptimes distance increment signified by each pulse) and, on the otherhand, the distance along the shortcut path across the stairstep patternsignified by the distribution of the pulses of the group.

The number of pulses in each group should be a multiple of the number ofaxes along which the cutting tool can be controlledly moved, whichmultiple should be relatively small but should be an integer larger thanone. Since each group of pulses is thus a small one, and each groupcontains the same number of pulses as every other group, a group canhave only a limited number of pulse distribution possibilities, and thenumber of augmenting pulses signified by each such possible distributioncan be readily precalculated.

It will be understood that the augmented pulse frequency f A is appliedto the control of the servos, the pulses of the augmented frequencybeing distributed in accordance with the programmed direction of cuttingtool motion. It will also be appreciated that if the pulse distributionof any one group of pulses that is analyzed should be non-representativeof the programmed direction of the cutting tool at the time of suchanalysis, owing to the small number of pulses in the group, then therewill usually be an offsetting error in the pulse distribution of thenext succeeding group or groups of pulses to be analyzed; hence duringthe relatively short time interval required for analysis of severalsuccessive groups of pulses, the errors in analysis of each group willcompensate for one another to such an extent that the cutting tool willmaintain its programmed direction and speed of motion with satisfactoryaccuracy.

It will be apparent that the augmented frequency fA increases withincreasing obliqueness of the direction of cutting tool movement, tomaintain the speed of the cutting tool in its oblique motionsubstantially equal to its speed along an axis at the same fundamentalfrequency.

Further details of the method will become apparent from the des riptionof its practice by means of the apparatus illus ated in the accompanyingdrawings.

In general, the apparatus shown in FIG. 1 comprises an OR-gate 8, afunction generator 9 which has one input connected with the output ofthe OR-gate and another input from the program apparatus, and a vectoradder 10 which has an input connection with the output of the functiongenerator and an output connected with the input side of the OR-gate.

Pulses from the pulse generating means 6, at the fundamental frequencyf,,, are applied to one input of the OR-gate 8, and by it are passed tothe function generator 9. The OR-gate 8 also receives augmenting pulsesfrom the vector adder and passes these to the function generator alongwith pulses of the fundamental frequency, so that the function generatorreceives pulses of the augmented frequency f A The function generatoralso receives an input, either directly or (as shown) indirectly, fromthe program apparatus, on the basis of which the function generatorassigns and distributes the incoming pulses to the several axes inaccordance with the direction in which the cutting tool is programmed tomove at the time the pulses are being fed to it. The assignment ofpulses to axes is in effect a resolution of the vector of programmedcutting tool motion into the components of that motion along the severalaxes. Since the function generator is making such pulse distributionscontinuously, it is in effect assigning pulse frequencies to the severalaxes, and therefore its output is denoted by f,, f and f,, designatingthe frequencies assigned to the respective x, y and z axes.

To facilitate an understanding of the apparatus comprising the vectoradder 10, which is diagrammatically illustrated in FIG. 2, its functionsmust first be explained.

If n n, and n designate the number of uniform incremental distancesthrough which the cutting tool is required to move on the respective x,y and z axes to cause it to move a certain distance in a desired cuttingdirection. then the total stairstep distance that would be traversed bythe tool in moving through that distance can be expressed as n A the sumof the increment distances, or

n A =n,+n,+n,. If n, signifies the number of the same incrementaldistance units that are required for the direct movement .of the toolalong the corresponding shortcut path, then n,,= V nj+nf+h obviously. a.is smaller than nA by an amount which depends upon how the incrementsare distributed on the various axes. If n;,- signifies the number ofincrements that must be added to m, to bring the latter to equality withnA, then nA= n n,,-, and

By dividing the above equations by time t, an analogous equation isobtained for the number of pulses per unit of time i.e., the frequencyof pulses that must be injected into pulses of the fundamental frequencyto obtain the required augmented frequency:

Thus f,, is an augmenting frequency which varies with the programmeddirection of movement of the cutting tool and which is obtained byanalysis of the distribution on the several axes of the pulses ofsuccessive pulse groups. Since the fundamental frequency f, correspondsto a predetermined cutting tool speed parallel to any one of the axes,if there is added to it a pulse signal of the frequency f an augmentedfrequency fA=f +f which corresponds to the same predetermined cuttingtool speed in the direction for which f is calculated. When thisaugmented frequency signal has its pulses distributed on the respectiveaxes in accordance with the programmed direction of movement of thecutting tool, the cutting tool will move in the programmed direction andwill move at the programmed speed irrespective of its direction ofmovement.

It will now be apparent that the function of the vector adder 10 in FIG.I is to analyze pulses in successive groups, each group containing thesame number of successive pulses, and to calculate f,, for each group ofpulses in accordance with the above equation and on the basis of thedistribution of the pulses of the group that has been made by thefunction generator. And, of course, the vector adder also serves toproduce pulses at the f frequency. To perform its functions, the vectoradder receives input from the function generator that respectivelycorrespond to f,, f, an f=, and has its output connected with theOR-gate 8 to enable the OR- gate to total the frequencies f,, and f andprovide the augmented pulse frequency f A =fl, f

It is essential to make a careful choice of the number of pulses thatare to comprise each group to be analyzed. If the group consists of asmall number of pulses, the resolution of the programmed direction ofmovement into components along the several axes will necessarily becoarse and approximate. On the other hand, if each group consists of alarge number of pulses there is a risk of error from the delay attendantupon generating that number of pulses, and there is the disadvantagethat more elaborate and expensive equipment .is required for evaluatingthe distribution of a large number of pulses on the several axes. Itwill be evident, however, that the number of pulses comprising eachgroup is preferably an integral multiple (larger than one) of the numberof axes along which the cutting tool is controlledly movable.

It has been found suitable for the purposes of the invention to analyzepulse distribution in a three-axis machine in pulse groups of sixsuccessive pulses each. If permutations between the axes aredisregarded, it is clear that six consecutive pulses can be assigned tothree axes in seven different distributions, which are set forth in thefollowing table. The table also gives the calculated value of n for eachsuch distribution, a rounded-off value of n,,, and a scaled value of n,,obtained by multiplying the rounded-off n value by 4.

Number Distribution Calculated Rounded- Scaled n off n n I 6 0 0.00 0.000 II 1 0 0.90 1.00 4 III 4 2 0 1.53 1.50 6 IV 4 1 l 1.76 1.75 7 V 3 3 O1.76 1.75 7 VI 3 2 1 2.26 2.25 9 VII 2 2 2 2.54 2.50 10 In response toan input from the function generator having one of the above tabulatedpatterns of pulse distribution, the vector adder 10 issues to one of itselements an output which corresponds to the binary form of the scaledvalue of n for that distribution. In turn, that element causes pulses ofthe augmenting fre quency f to be issued in accordance with the scaledvalue of n fed to it.

For the purpose of making its analysis of pulse distribution the vpctoradder comprises the apparatus diagrammatically shown in FIG. 2,comprising an OR-gate 12, to the input side of which the three assignedpulse frequencies f,, f, and f are fed from he function generator. TheOR-gate 12 feeds pulses of all three frequencies to a counter 14, whichissues a pulse output to a control unit 15 each time it has received sixsuccessive pulses. The counter 14 thus serves to define the groups ofsuccessive pulses into which the flow of pulses is divided for purposesof analysis, and in this case each group of course contains six pulses,for the reason explained above. The pulses which the function generatorhas assigned to movement along the y axis are fed directly to anothercounter 16, which thus receives pulses at the frequency f,,; and a thirdcounter 17 receives pulses at the frequency f, Since the total number ofpulses used for the analysis is established by the counter 14 and istherefore known, the number of xaxis pulses is likewise known.

The counters 16 and 17 for the n,, and n pulses have their outputsconnected with a decoder 18 comprising logic circuits which provide fourbinary outputs b b b and h The decoder determines, from the conditionsof the counters l6 and 17, which of the distributions set forth in theabove table exists, receiving a signal from the control unit 15 upon thecompletion of each pulse group, and in accordance with the distributionthus determined, produces on its outputs the corresponding scaled valueof n in binary form. These outputs from the decoder are fed to anaccumulator register 19 by way of an adder 20. The accumulator registeralso has input and output connections with the control unit.

The accumulator register cooperates with the adder to store the scaled nvalues issued by the decoder. When the incoming scaled n value fed intothe accumulator register, together with that previously stored therein,is equal to four or more, the number 4 is subtracted from theaccumulator register content, and at the same time the control unitissues a correction pulse which is fed back to the OR-gate 8. If arenewed scanning of the contents of the accumulator register indicatesthat it still contains a value of four or more, another subtraction offour takes place and, correspondingly, another correction pulse isissued. The course is sketched in a much simplified manner in FIG. 3.Note that, as indicated in FIG. 3, the correction pulses n,, aresynchronized to the interval between pulses of the fundamental frequencyf,, and are timed to occur after the first, third and fifth pulses,respectively.

The reason for subtracting four from the contents of the accumulatorregister each time a correction pulse is issued is that four is thescale factor by which the calculated value of m, has been multiplied toprovide a value which is a whole number. Thus account is taken offractions of n by reason of the fact that an augmenting pulse is issuedonly if the contents of the accumulator register totals more than three.

The accuracy of cutting tool speed correction that is achieved by meansof the method of this invention can be calculated in terms of percentageof the correct speed by calculating the relationship between therequired speed vectors for different directions of motion and thoseobtained with the method of this invention. It is sufficient for thispurpose to consider a surface constituting one-forty eighth of thesurface of a sphere, in accordance with FIG. 4, since the surface of asphere can be divided into 48 similar part surfaces, on each of whichany point will have a relationship to a set of coordinate axes that iscongruent to the relationship to the same axes of a corresponding pointon any other part surface. The directions of tool travel are representedby points 1-15 in FIG. 4, through which vectors are imagined to extendfrom the origin of the axis system designated by x, y and z, and foreach of which points the coordinates are given in the following table.The table also shows accuracies in cutting tool speed obtained by themethod of this invention in motion along the vector through the point,in relation to the correct speed. The plus symbol before an accuracyvalue indicates that the method of this invention produces too high aspeed (i.e., speed vector too long); the minus sign that it is too low.

Point Approximate coordinate Error in vector No. x y z It can be seenthat the maximum error is less than 4 percent, which is acceptable forthree-axis systems.

It will be apparent from the foregoing explanation that the crux of themethod of this invention resides in calculating a relationship betweenthe total distance that the cutting tool would travel in stairstepmotion according to the assigned pulses of each group and the directdistance to be traversed by such motion; and, more specifically, inprecalculating that relationship for each possible distribution of thepulses of a group. In the above described apparatus the relationshipthus calcuf A fv On the basis of the hereinabove expressed relationshipsbetween f,, and f A with respect to f,., f, and f}:

(.fr fu+fz) fr fll fz In the following table, a has been calculated forthe distributions identified by I-VII in the first table above. Thefollowing table also includes scaled values of a and rounded-off scaledvalues of a, given for reasons explained below.

Correction factor a Distribution Calculated Scaled Rounded off No. valuevalue value I 1.00 1/32 1/32 II 1.18 1/27.2 l/27 Ill 1.34 l/23.8 l/24 IV1.41 U226 U231 V 1.41 1/22.6 l/23 VI 1.60 l/20 l/2O WI 1.73 l/18.4 l/18The apparatus illustrated in FIGS. 5 and 6 again comprises a functiongenerator 9, which functions the same as that of the FIGS. 1 and 2embodiment, and which, like it, has its outputs connected with a vectoradder 10'. The vector adder has the same general function as thatdescribed above, that is, it analyzes the distribution of pulses on theseveral axes, as effected by the function generator, and on the basis ofthat analysis effects issuance of the necessary augmenting pulses. Inthis case, however, the vector adder issues to a multiplier 23 a signalcorresponding to the correction factor a, and the multiplier issuesaugmenting pulses in carrying out f A j}, a. The augmented frequencythus obtained is fed to the function generator by the multiplier.

The vector adder 10 comprises, as illustrated in FIG. 6, an OR-gate 13,counters 14, 16 and 17, and a decoder 19, all of which function like thecorrespondingly designated elements of the FIGS. 1 and 2 apparatus. Inthis case, however, the counter 14 is connected with a somewhatdifferent control unit 15' and the latter, in turn, is connected with aregister to which the decoder 19 is also connected. When the counter 14has counted six pulses and has issued to the control unit 15' a signalthat it has done so, the control unit emits a command to the register20' which issues a signal in accordance with the analysis input that hasbeen supplied to it by the decoder. The signal emitted by the register20' corresponds to one of the values 32, 27, 24, 23, 20 or 18, which arethe denominators of the rounded-off values of the correction factor a.The multiplier 23 comprises a counter with variable counting length andmeans for feeding pulses to it at a rate which is 32 times thefundamental frequency, Le, 32 f,,. The signal emitted by the register20' designates the counting length for which the variable countinglength counter is set, and it issues an augmenting pulse signal when ithas counted that number of pulses. Thus if the signal to the registerfrom the decoder signifies a distribution according to No. III in thetable above, the register issues to the multiplier a signalcorresponding to 24, and the variable length counter of the multiplierissues a pulse for every 24th pulse that it receives in the 32f,frequency that is supplied to it. Hence the augmented frequency will bef32 -f,,' 1/24= 1.34 'f,,, which is the corrected or augmented frequencyfor distribution III in the above table.

The choice of 1/32 for the scale" factor in the apparatus illustrated inFIGS. 5 and 6 is due to the fact that the multiplier comprises a counterwith variable counting length and that it is desirable that thecorrection factor a should have the form 1/n', wherein n is a wholenumber. The number 32 is the lowest one in the series, 1, 2, 4, 8, 16,32 that gives a good approxi mation. I

From the foregoing explanation together with the accompanying drawingsit will be apparent that this invention provides a marked improvement inthe art relating to numerically controlled machine tools wherein pulsesare generated at a fundamental frequency and are employed forcontrolling the speed of the cutting tool movement, which improvementconsists in a method of so augmenting the fundamental pulse frequency asto maintain the cutting tool moving in the programmed direction and atsubstantially the speed that the fundamental frequency signifies formovement along an axis, irrespective of whether or not the programmeddirection of motion is parallel to an axis.

Those skilled in the art will appreciate that the invention can beembodied in forms other than as herein disclosed for purposes ofillustration.

The invention is defined by the following claims.

I claim:

1. In the art relating to numerically controlled machine tools of thetype comprising an element that is movable to effect relative motionbetween a cutting tool and a workpiece, program means for effectingpredetermined motions of said element relative to a system of coordinateaxes, a pulse generator which generates pulses at a fundamentalfrequency controlled by the program means, each pulse corresponding to apredetermined increment of motion of said element along an axis, andfunction generator means to which pulses are fed and which isoperatively associated with the program means to distribute pulses tothe several axes in such a manner that the frequency of pulses assignedto each axis corresponds to the component along that axis of theprogrammed vector of motion of said element, the method of maintainingthe speed of motion of said element at substantially the value which thefundamental frequency assigns to movement of the element along an axis,even at times when the element is programmed to move obliquely to axes,which method is characterized by:

A. counting successive pulses into successive equal groups, the numberof pulses in each group being an integral multiple of the number of axesso that the pulses of a group can have only a limited number of possibledistributions among the several axes;

B. for each such possible pulse distribution predetermining a number ofsupplemental pulses which is a function of a relationship between thetotal distance that the cutting tool would traverse in movement alongthe axes in the pattern signified by the pulse distribution and thedirect distance traversed in such movement;

C. as each group of pulses in counted, recording the number of pulses ofthe group that are distributed element at substantially the value whichthe fundamental frequency assigns to movement of the element along anaxis, even at times when the element is programmed to move obliquely toaxes, which method is characterto each of the different axes, fordetermination of i d b the number of supplemental pulses that isappropriate to the pulse distribution of the group;

D. generating the number of supplemental pulses de termined to beappropriate to the pulse distribution of each counted group andinjecting such number of supplemental pulses between pulses of thefundamental frequency that are generated immediately after the group hasbeen counted, to produce pulses at an augmented frequency; and

E. feeding pulses of the augmented frequency to the function generatormeans.

2. In the art relating to numerically controlled machine tools of thetype comprising an element that is movable to effect relative motionbetween a cutting tool and a workpiece, program means for effectingpredetermined motions of said element relative to a system of coordinateaxes, a pulse generator which generates pulses at a fundamentalfrequency controlled by the program means, each pulse corresponding to apredetermined increment of motion of said element along an axis, andfunction generator means to which pulses are fed and which isoperatively associated with the program means to distribute pulses tothe several axes in such a manner that the frequency of pulses assignedto each axis corresponds to the component along that axis of theprogrammed vector of motion of said element, the method of maintainingthe speed of motion of said A. counting successive pulses intosuccessive equal groups, the number of pulses in each group being anintegral multiple of the number of axes so that the pulses of a groupcan have only a limited number of possible distributions among theseveral axes;

B. for each such possible pulse distribution predetermining a pulsefrequency correction value which is a function of the ratio between thetotal distance that the cutting tool would traverse in movement alongthe axes in the pattern signified by the pulse distribution and thedirect distance traversed in such movement;

C. for each group of pulses counted, producing and storing a binaryinput having a magnitude which substantially corresponds to apredetermined multiple of the pulse frequency correction value for thep;

D. each time the stored binary input reaches at least a valuecorresponding to said multiple, issuing a supplemental pulse andreducing the stored value of binary input by a magnitude correspondingto said multiple; and

E. feeding supplemental pulses to the function generator between pulsesof the fundamental frequency.

1. In the art relating to numerically controlled machine tools of thetype comprising an element that is movable to effect relative motionbetween a cutting tool and a workpiece, program means for effectingpredetermined motions of said element relative to a system of coordinateaxes, a pulse generator which generates pulses at a fundamentalfrequency controlled by the program means, each pulse corresponding to apredetermined increment of motion of said element along an axis, andfunction generator means to which pulses are fed and which isoperatively associated with the program means to distribute pulses tothe several axes in such a manner that the frequency of pulses assignedto each axis corresponds to the component along that axis of theprogrammed vector of motion of said element, the method of maintainingthe speed of motion of said element at substantially the value which thefundamental frequency assigns to movement of the element along an axis,even at times when the element is programmed to move obliquely to axes,which method is characterized by: A. counting successive pulses intosuccessive equal groups, the number of pulses in each group being anintegral multiple of the number of axes so that the pulses of a groupcan have only a limited number of possible distributions among theseveral axes; B. for each such possible pulse distributionpredetermining a number of supplemental pulses which is a function of arelationship between the total distance that the cutting tool wouldtraverse in movement along the axes in the pattern signified by thepulse distribution and the direct distance traversed in such movement;C. as each group of pulses in counted, recording the number of pulses ofthe group that are distributed to each of the different axes, fordetermination of the number of supplemental pulses that is appropriateto the pulse distribution of the group; D. generating the number ofsupplemental pulses determined to be appropriate to the pulsedistribution of each counted group and injecting such number ofsupplemental pulses between pulses of the fundamental frequency that aregenerated immediately after the group has been counted, to producepulses at an augmented frequency; and E. feeding pulses of the augmentedfrequency to the function generator means.
 2. In the art relating tonumerically controlled machine tools of the type comprising an elementthat is movable to effect relative motion between a cutting tool and aworkpiece, program means for effecting predetermined motions of saidelement relative to a system of coordinate axes, a pulse generator whichgenerates pulses at a fundamental frequency controlled by the programmeans, each pulse corresponding to a predetermined increment of motionof said element along an axis, and function generator means to whichpulses are fed and which is operatively associated with the programmeans to distribute pulses to the several axes in such a manner that thefrequency of pulses assigned to each axis corresponds to the componentalong that axis of the programmed vector of motion of said element, themethod of maintaining the speed of motion of said element atsubstantially the value which the fundamental frequency assigns tomovement of the element along an axis, even at times when the element isprogrammed to move obliquely to axes, which method is characterized by:A. counting successive pulses into successive equal groups, the numberof pulses in each group being an integral multiple of the number of axesso that the pulses of a group can have only a limited number of possibledistributions among the several axes; B. for each such possible pulsedistribution predetermining a pulse frequency correction value which isa function of the ratio between the total distance that the cutting toolwould traverse in movement along the axes in the pattern signified bythe pulse distribUtion and the direct distance traversed in suchmovement; C. for each group of pulses counted, producing and storing abinary input having a magnitude which substantially corresponds to apredetermined multiple of the pulse frequency correction value for thegroup; D. each time the stored binary input reaches at least a valuecorresponding to said multiple, issuing a supplemental pulse andreducing the stored value of binary input by a magnitude correspondingto said multiple; and E. feeding supplemental pulses to the functiongenerator between pulses of the fundamental frequency.